C#访问新浪股票接口失效的处理

您所在的位置:网站首页 新浪股票接口 拒绝交易 C#访问新浪股票接口失效的处理

C#访问新浪股票接口失效的处理

2024-07-04 10:06| 来源: 网络整理| 查看: 265

新浪接口很好用,但后来一直就不能用了,比如

http://hq.sinajs.cn?list=sh601003

返回Forbidden

找了一下,发现腾讯的股票接口和新浪的很接近,能用,就直接换腾讯了。

今天因为港股数据的问题,还是想试试新浪接口,找了一下文章,发现问题是新浪需要一个header

新浪股票接口失效解决方法,2022年访问接口出现 “Kinsoku jikou desu” 日语禁止访问

解决办法是在请求头部添加Referer字段

2022 新浪股票接口更新需要加Referer才能获取数据

Referer:http://finance.sina.com.cn

于是尝试,修改访问前修改HttpWebRequest,结果不行,研究一圈,发现需要用反射

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); //request.Headers.Add("referer", "https://finance.sina.com.cn/"); //request.Headers["referer"] = "https://finance.sina.com.cn/"; MethodInfo priMethod = request.Headers.GetType().GetMethod("AddWithoutValidate", BindingFlags.Instance | BindingFlags.NonPublic); priMethod.Invoke(request.Headers, new string[] { "referer", "https://finance.sina.com.cn/" });

string content = ""; try {     HttpWebResponse response = (HttpWebResponse)request.GetResponse();     if (response.StatusCode == HttpStatusCode.OK) //防止无响应     {         StreamReader reader = new StreamReader(response.GetResponseStream(), System.Text.Encoding.GetEncoding("GB2312"));         content = reader.ReadToEnd();         reader.Close();     } }

相关引用

using System; using System.Collections.Generic; using System.Text; using System.Timers; using System.Text.RegularExpressions; using System.Data; using System.Net; using System.ComponentModel; using System.Web; using System.Web.UI; using System.IO; using System.Reflection;



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3